const circle = new Cesium.CircleOutlineGeometry({
  center: Cesium.Cartesian3.fromDegrees(107, 34),
  radius: 1000000,
  granularity: 0.001,
  height: 1000,
});
const geometry = Cesium.CircleOutlineGeometry.createGeometry(circle);
const geometryPositions = [].slice.call(
  geometry?.attributes?.position?.values ?? []
);
const circlePositions = [];
for (let i = 0; i < geometryPositions.length; i += 3) {
  const position = new Cesium.Cartesian3(
    geometryPositions[i],
    geometryPositions[i + 1],
    geometryPositions[i + 2]
  );
  circlePositions.push(position);
}
circlePositions.reverse(); // 顺时针
const polyline = new Cesium.PolylineGraphics({
  positions: circlePositions,
  width: 10,
  material: new Cesium.PolylineArrowMaterialProperty(Cesium.WHITE),
  clampToGround: false,
});
viewer.entities.add({
  position: Cesium.Cartesian3.fromDegrees(107, 34),
  polyline,
});
